/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package project.jpdftools.pdfconverter;

import javax.swing.filechooser.FileNameExtensionFilter;

/**
 *
 * @author Mido
 */
public abstract class Converter {

    private FileNameExtensionFilter sourceExtensionFilter;
    private String destinationExtension;
    private String source;
    private String destination;
    private boolean useAdvancedOptions;
    private boolean useDefaultFont;
    private boolean useDocumentInfo;
    private int languageType;

    /**
     * Converts a selected file to the required type
     */
    public abstract boolean convertFiles(String creator, String title, String author, String subject, String keywords, String font_path_name);

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public String getDestinationExtension() {
        return destinationExtension;
    }

    public void setDestinationExtension(String destinationExtension) {
        this.destinationExtension = destinationExtension;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public FileNameExtensionFilter getSourceExtensionFilter() {
        return sourceExtensionFilter;
    }

    public void setSourceExtensionFilter(FileNameExtensionFilter sourceExtensionFilter) {
        this.sourceExtensionFilter = sourceExtensionFilter;
    }

    public boolean isUseAdvancedOptions() {
        return useAdvancedOptions;
    }

    public void setUseAdvancedOptions(boolean useAdvancedOptions) {
        this.useAdvancedOptions = useAdvancedOptions;
    }

    public boolean isUseDefaultFont() {
        return useDefaultFont;
    }

    public void setUseDefaultFont(boolean useDefaultFont) {
        this.useDefaultFont = useDefaultFont;
    }

    public boolean isUseDocumentInfo() {
        return useDocumentInfo;
    }

    public void setUseDocumentInfo(boolean useDocumentInfo) {
        this.useDocumentInfo = useDocumentInfo;
    }

    public int getLanguageType() {
        return languageType;
    }

    public void setLanguageType(int languageType) {
        this.languageType = languageType;
    }
}
